যুক্তি
তথ্য আর্গুমেন্ট হিসাবে ফাংশন মধ্যে পাস করা যেতে পারে.
আর্গুমেন্ট ফাংশন নামের পরে, বন্ধনীতে নির্দিষ্ট করা হয়। আপনি যতগুলো আর্গুমেন্ট চান যোগ করতে পারেন, শুধু কমা দিয়ে আলাদা করুন।
নিম্নলিখিত উদাহরণে একটি আর্গুমেন্ট (fname) সহ একটি ফাংশন রয়েছে। যখন ফাংশনটি কল করা হয়, আমরা একটি প্রথম নাম পাস করি, যা ফাংশনের ভিতরে পুরো নাম মুদ্রণ করতে ব্যবহৃত হয়:
উদাহরণ
একটি যুক্তি সহ একটি ফাংশন:
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
প্যারামিটার বনাম আর্গুমেন্ট
শর্তাবলী প্যারামিটার এবং আর্গুমেন্ট একই জিনিসের জন্য ব্যবহার করা যেতে পারে: তথ্য একটি ফাংশনে পাস।
একটি কার্যকরী দৃষ্টিকোণ থেকে:
- একটি প্যারামিটার হল একটি ফাংশন সংজ্ঞায় বন্ধনীতে তালিকাভুক্ত একটি পরিবর্তনশীল।
- একটি যুক্তি হল প্রকৃত মান পাস যখন ফাংশন কল করা হয়.
উদাহরণ
def my_function(name): # name একটি প্যারামিটার প্রিন্ট ("হ্যালো", নাম) my_function("Emil") # "Emil" একটি আর্গুমেন্ট
দ্রষ্টব্য:
ফাংশন সংজ্ঞায় প্যারামিটারগুলি নির্দিষ্ট করা হয়, ফাংশন কলে আর্গুমেন্ট ব্যবহার করা হয়।
আর্গুমেন্টের সংখ্যা
ডিফল্টরূপে, সঠিক সংখ্যক আর্গুমেন্ট সহ একটি ফাংশন কল করা আবশ্যক।
যদি আপনার ফাংশন 2টি আর্গুমেন্ট আশা করে, তাহলে আপনাকে অবশ্যই 2টি আর্গুমেন্ট সহ কল করতে হবে।
উদাহরণ
এই ফাংশনটি 2টি আর্গুমেন্ট আশা করে এবং 2টি আর্গুমেন্ট পায়:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
আপনি যদি আর্গুমেন্টের ভুল নম্বর দিয়ে ফাংশনটি কল করার চেষ্টা করেন, আপনি একটি ত্রুটি পাবেন:
উদাহরণ
এই ফাংশনটি 2টি আর্গুমেন্ট আশা করে, কিন্তু শুধুমাত্র 1টি পায়:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil")
ডিফল্ট প্যারামিটার মান
আপনি পরামিতিগুলিতে ডিফল্ট মান নির্ধারণ করতে পারেন। যদি ফাংশনটি একটি যুক্তি ছাড়া কল করা হয়, এটি ডিফল্ট মান ব্যবহার করে:
উদাহরণ
def my_function(name = "friend"):
print("Hello", name)
my_function("Emil")
my_function("Tobias")
my_function()
my_function("Linus")
উদাহরণ
দেশের প্যারামিটারের জন্য ডিফল্ট মান হল:
def my_function(country = "Norway"):
print("I am from", country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
মূলশব্দ আর্গুমেন্ট
কী = মান সিনট্যাক্স দিয়ে আর্গুমেন্ট পাস করা যেতে পারে।
উদাহরণ
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function(animal = "dog", name = "Buddy")
কীওয়ার্ড আর্গুমেন্টের সাথে, আর্গুমেন্টের ক্রম গুরুত্বপূর্ণ নয়।
উদাহরণ
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function(name = "Buddy", animal = "dog")
দ্রষ্টব্য:
শব্দগুচ্ছ কীওয়ার্ড আর্গুমেন্ট প্রায়ই পাইথন ডকুমেন্টেশনে kwargs সংক্ষেপে করা হয়।
স্থান ভিত্তিক যুক্তি
আপনি যখন কীওয়ার্ড ব্যবহার না করে আর্গুমেন্ট সহ একটি ফাংশন কল করেন, তখন তাকে প্লেসহোল্ডার আর্গুমেন্ট বলা হয়।
স্থানধারক আর্গুমেন্ট সঠিক ক্রমে হতে হবে:
উদাহরণ
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function("dog", "Buddy")
অবস্থানগত আর্গুমেন্ট সহ অর্ডার গুরুত্বপূর্ণ:
উদাহরণ
অর্ডার পরিবর্তন করলে ফলাফল পরিবর্তন হয়:
def my_function(animal, name):
print("I have a", animal)
print("My", animal + "'s name is", name)
my_function("Buddy", "dog")
অবস্থান বেস এবং কীওয়ার্ড আর্গুমেন্ট মিশ্রিত করা
আপনি একটি ফাংশন কলে বেস এবং কীওয়ার্ড আর্গুমেন্ট মিশ্রিত করতে পারেন।
যাইহোক, কীওয়ার্ড আর্গুমেন্টের আগে লোকেশন বেস আর্গুমেন্ট আসতে হবে:
উদাহরণ
def my_function(animal, name, age):
print("I have a", age, "year old", animal, "named", name)
my_function("dog", name = "Buddy", age = 5)
গুরুত্বপূর্ণ:
কীওয়ার্ড আর্গুমেন্টের পরে স্থানধারক আর্গুমেন্ট ব্যবহার করার চেষ্টা করলে একটি ত্রুটি দেখা দেবে। সর্বদা প্রাথমিক যুক্তিগুলি প্রথমে রাখুন।
বিভিন্ন ধরনের ডেটা পাঠানো হচ্ছে
যেকোন ডেটা টাইপকে একটি ফাংশনে আর্গুমেন্ট হিসেবে পাস করা যেতে পারে (স্ট্রিং, সংখ্যা, তালিকা, অভিধান, ইত্যাদি)।
ডেটা টাইপ ফাংশনের মধ্যে সংরক্ষিত হয়:
উদাহরণ
একটি যুক্তি হিসাবে একটি তালিকা পাস করা:
def my_function(fruits):
for fruit in fruits:
print(fruit)
my_fruits = ["apple", "banana", "cherry"]
my_function(my_fruits)
উদাহরণ
একটি যুক্তি হিসাবে একটি অভিধান পাস করা:
def my_function(person):
print("Name:", person["name"])
print("Age:", person["age"])
my_person = {"name": "Emil", "age": 25}
my_function(my_person)
রিটার্ন মান
কার্যক্রমreturnবিবৃতি ব্যবহার করে মান ফেরত দেওয়া যেতে পারে:
উদাহরণ
def my_function(x, y):
return x + y
result = my_function(5, 3)
print(result)
বিভিন্ন ধরনের ডেটা রিটার্ন করা
ফাংশন তালিকা, টিপল, অভিধান এবং আরও অনেক কিছু সহ যেকোন ডেটা টাইপ ফেরত দিতে পারে।
উদাহরণ
একটি ফাংশন যা একটি তালিকা প্রদান করে:
def my_function():
return ["apple", "banana", "cherry"]
fruits = my_function()
print(fruits[0])
print(fruits[1])
print(fruits[2])
উদাহরণ
একটি ফাংশন যা একটি টিপল প্রদান করে:
def my_function():
return (10, 20)
x, y = my_function()
print("x:", x)
print("y:", y)
একমাত্র যুক্তি হল অবস্থানের ভিত্তিতে
আপনি নির্দিষ্ট করতে পারেন যে একটি ফাংশন শুধুমাত্র স্থানধারক আর্গুমেন্ট থাকতে পারে।
পজিশন-অনলি আর্গুমেন্ট নির্দিষ্ট করতে, আর্গুমেন্টের পরে/ যোগ করুন:
উদাহরণ
def my_function(name, /):
print("Hello", name)
my_function("Emil")
, / ছাড়া , আপনাকে কীওয়ার্ড আর্গুমেন্ট ব্যবহার করার অনুমতি দেওয়া হয়েছে এমনকি যদি ফাংশন বেস আর্গুমেন্ট আশা করে:
উদাহরণ
def my_function(name):
print("Hello", name)
my_function(name = "Emil")
, এর সাথে / , কীওয়ার্ড আর্গুমেন্ট ব্যবহার করার চেষ্টা করা একটি ত্রুটি দেয়:
উদাহরণ
def my_function(name, /):
print("Hello", name)
my_function(name = "Emil")
কীওয়ার্ড একমাত্র যুক্তি
একটি ফাংশন শুধুমাত্র কীওয়ার্ড আর্গুমেন্ট থাকতে পারে তা নির্দিষ্ট করতে, আর্গুমেন্টের আগে * যোগ করুন:
উদাহরণ
def my_function(*, name):
print("Hello", name)
my_function(name = "Emil")
* ছাড়া, ফাংশনটি কীওয়ার্ড আর্গুমেন্ট আশা করলেও আপনি লোকেশন বেস আর্গুমেন্ট ব্যবহার করতে পারবেন:
উদাহরণ
def my_function(name):
print("Hello", name)
my_function("Emil")
* এর সাথে অবস্থানগত আর্গুমেন্ট ব্যবহার করার চেষ্টা করলে একটি ত্রুটি পাওয়া যাবে:
উদাহরণ
def my_function(*, name):
print("Hello", name)
my_function("Emil")
শুধুমাত্র অবস্থানের ভিত্তি এবং শুধুমাত্র কীওয়ার্ড আর্গুমেন্টের সমন্বয়
উভয় ধরনের আর্গুমেন্ট একটি একক ফাংশনে একত্রিত হতে পারে।
আর্গুমেন্টের আগে / শুধুমাত্র স্থানধারক, এবং * এর পরে আর্গুমেন্ট শুধুমাত্র কীওয়ার্ড:
উদাহরণ
def my_function(a, b, /, *, c, d):
return a + b + c + d
result = my_function(5, 10, c = 15, d = 20)
print(result)
বর্ণনা:
এই ফাংশনে, a এবং b শুধুমাত্র স্থানের ভিত্তি (/ এর আগে), c এবং d শুধুমাত্র কীওয়ার্ড (এর পরে *)।
অনুশীলন করুন
নিম্নলিখিত কার্যকলাপ বিবেচনা করুন:
def myfunc(n):
print(n)